Solar panels are all the rage these days. They have many benefits, from the environmental friendliness to the personal cost savings. For Iowans planning on residing at their home long-term, residential solar panels can be a wise investment. However, there are a lot of up-front expenses for solar array installation, in addition to the potential costs along the way. Solar panels are generally quite durable and come with lengthy warranties, but it can be difficult to take those potential costs into account.
There are countless websites that will provide solar project cost estimates, including installation costs and length before breaking even on the investment. However, these sites rarely provide any confidence intervals or margins of error. They also leave out details about how their estimates are calculated and what factors are being considered. Given the unpredictable aspects of being a solar array owner and utility customer, a model that takes variation into consideration may be useful.
In this simulation, I set out to answer some questions about what one can expect from investing in a residential solar project in Iowa, whether taking out loans to invest in a solar project is an advantageous option, and how sensitive the outcome is to certain assumptions and expectations. For this study, I decided to exclude any state or federal incentives. This is intentional, as the Iowa program for residential solar project is severely backed up on requests and at risk of being curtailed or canceled. Therefore, Iowans should know what they can expect from a solar project without any government assistance or tax benefits.
To simulate a solar panel project, many inputs must be defined. Initial project costs related to the size of the project are considered first. We need to know the cash investment (which is considered the same as a down payment) in dollars, loan investment in dollars, APR (represented as a percent in decimal format) and loan length in years; the investment totals should then equal the installation fees plus the number of panels times the cost per panel. The user must also provide the solar panels’ kilowatt hours per panel per month, which is calculated by multiplying the panel wattage times 5 hours per day times 30 days per month. Yearly costs include inspection and cleaning services, which are advised to be conducted annually.
Next we need information about the panels’ loss of efficiency over time, which occurs naturally due to aging and exposure. This is represented as an annual percent reduction in efficiency. There is also a probability that any number of the panels are damaged year-to-year; this input is annual probability of damage in decimal format. To study savings over time, we must know how much the user is charged per kilowatt hour (kWh) by their utility provider, as well as their typical monthly energy usage in kWh. Utility energy charges generally increase over time, so the function also requires an input for the percent annual change in price per kWh in decimal format. Finally, the last input is the number of years for which to run the simulation.
I created a two functions to simulate the solar project: one that utilizes static defaults based on my research about typical solar project costs in Iowa, and a second that models these inputs using distributions chosen based on the same research. While the first function can provide a model of what to expect from a solar project, it cannot provide any sort of variance estimate. However, the second function, when run a large number of times, provides a range of expected values that combines inputs from multiple sampled distributions.
Both functions have certain inputs that are required, with no defaults. Besides the number of years for which to run the simulation, all of the inputs are related to the size of the project: cash paid, loan investment, loan APR, loan length, number of panels, installation fees, and price per panel. All other inputs were given static defaults for the first version of the function and distributions for inputs in the second version.
The first default, kWh per panel, is one of only two that are static in both functions. The default for this input is set to 45, which corresponds to 300 watt panels getting an average of 5 hours of sun per day each month, a typical calculation for solar projects1. Although this can vary depending on the type of solar panels purchased, the wattage rating of the panels does not change over time, and thus is a static input for all scenarios. Similarly, the starting price per kWh charged by the utility company will be different depending on where you live, but that initial rate is also a static value. In this case, the starting price per kWh is set to 8.83 cents because that is the average price for Iowa City2.
The six remaining inputs have both static and distributed default values. See the histogram plots below for a visualization of the default distributions for these inputs (Figure 1). Starting with annual solar panel owner costs, there is significant room for variation in yearly fees. Standard advice is to budget $400 per year for solar panel inspection and maintenance3, with a typical range given of $150-$1000 annually. In the second version of the function, I assigned this yearly costs variable a normal distribution with a mean of 400 and standard deviation of 50, so that most sampled values fell between $300-500.
Each year, there is some chance that the solar panels will be damaged. Although there is no readily available data on how common solar panel damage is, it is widely reported that solar panels are quite durable. Therefore I assigned the default for the annual probability of damage to be 0.5%, and for the distribution I assigned it a Bernoulli distribution (binomial with size=1) with \(p=0.005\). In the case that the panels are damaged, there is an array of possible repairs needed. Based on online resources, I found that most solar panels repairs are relatively inexpensive, with a few more extreme cases costing much more4. With this in mind, I set the default repair cost to $2000 and assigned it an exponential distribution with a rate of \(\lambda = 0.0005\).
Over time, solar panels lose efficiency due to aging and exposure. However, this efficiency loss is generally quite low, and many solar panel producers will guarantee their panels to still produce 80% of their rated wattage after 20 years of use. Study estimates provide a typical annual efficiency loss range of 0.5-0.8%5. The function’s default for annual efficiency loss is 0.5%, and its assigned distribution is normal with a mean of 0.0065 and a standard deviation of 0.001.
Changes in price per kWh charged by the utility provider can make a significant difference in cost savings over time, as increases in price essentially add value to the solar panels. Looking at the history of energy prices in Iowa, it is clear that changes are anything but steady, with increases ranging from practically zero to 10% in a single year6. Based on this history, the default change in price per kWh is set to 0.3% and is it given an exponential distribution with a rate of \(\lambda = 50\). Finally, monthly energy usage is another factor with notable variance from month to month and year to year. Typical homes will use an average of 900 kWh per month, so this is the default value for the variable. In the second function, this variable is assigned a normal distribution with a mean of 900 and standard deviation of 2007.
Figure 1. Assigned default distributions of solar project inputs
Much of the operations within the solar project functions are rather intuitive. The function initializes a list of variables to track, including return on investment (ROI), net return, loan balance, amount saved, and other such factors necessary for calculating those figures. After performing some checks, assigning internal-use objects, and initializing tracking variables, the function moves on to its main procedure: the yearly updating of project details. In this loop that continues as many times as is specified in the function input, the function calculates loan principal and interest payments using a standard amortization schedule8 and uses the inputs to track changes in panel efficiency, utility energy rates, costs due to damage, and its financial indicators.
To do the simulations, I ran 10,000 solar projects for each individual scenario. I extracted the variables of interest from each project’s outcome to compare. I started with a scenario for a $10,000 project that would be expected to cover more than half of a household’s monthly energy usage, and then moved to a $15,000 project which would fully cover typical monthly energy usage for an Iowa residence. For both scenarios, I look at multiple financial metrics and compared funding the projects through cash (out-of-pocket) and loan investments.
Next, I wanted to test how sensitive the results were to assumptions made about certain input variables. For each of five input variables (efficiency loss, change in price per kWh, yearly costs, probability of damage, and monthly kWh per panel), I ran 10,000 simulations each for 5-6 different versions of the input variable. I was then able to plot these and find quantiles to address the question of sensitivity.
To begin with, we can see the results from the “point-estimate” version of the function that had static default values for the solar project. According to this model, someone investing in a solar project in Iowa can expect to break even on their investment at the 13 or 14 year mark, depending on whether they take out a loan to pursue the project. This is curiously lower than estimated on most websites, which usually estimate a break-even point of 10 years as a maximum. In Figure 3, you can clearly see the savings stack up over each year, even as the annual amount saved slightly decreases over time due to the loss of efficiency.
Figure 2. ROI for typical $10k solar project in Iowa
Figure 3. Net return for typical $10k solar project in Iowa
Figure 4. Amount saved for typical $10k solar project in Iowa
While interesting, these results do not provide more insight than that online sources may be too optimistic about the financial benefits of investing in solar panels. To better model these projects and account for their inherent unpredictability, we turn to the second version of the function with the distribution defaults. In first simulation, the same projects are compared but with attention to the variance in outcomes.
The average Iowan undertaking a $10,000 solar panel project will not break even within the first 30 years. For the given inputs, 95% of Iowans paying cash for such a project would experience a return on investment of between -19.76% and 11.05% after 30 years, with a mean ROI of -4.58%. That corresponds to a net return between -$4,995 and $2,418 with a mean of -$1,066. For the small proportion that do manage to break even with this type of project, the break even point should not be expected before 25 years after investing. This does not bode well for those interested in smaller residential solar projects. However, the tune changes when a slightly larger project is undertaken.
Figure 5. Financial figures for $10k solar panel project in Iowa
An additional $5,000 in start-up money can make a huge difference. On average, $15,000 is what is required to set up a residential solar panel system that covers 100% of the home’s monthly energy usage. By switching to solar, the annual energy savings would allow for the average Iowan to break even at the 20-year mark for a cash-only project and at the 21-year mark for a loan-only project. For those who take on this project out of pocket, 95% would experience an ROI between 23.1% and 65.7% ($6,720 - $17,715 net return) after 30 years with an average ROI of 42.9% ($11,654).
For Iowans taking the loan route, 95% would experience an ROI between 16.5% and 56.4% ($5,075 - $16,053), averaging 35.3% ($10,101) at 30 years. While there is a small chance to have bad luck and never break even, the probability of that happening is less than 0.1%, and 95% of people taking on projects like this will break even between 17 and 25 years after investing in the project.
Figure 6. Financial figures for $15k solar panel project in Iowa
These reported confidence intervals are possible because of the randomness embedded in the simulation function. They reflect the bad-, good-, and worst-case scenarios of taking on a residential solar project. In the next two figures (Figures 7 and 8), 100 of these individual projects are mapped out over the course of 30 years. Each project’s corresponding ROI and net return is mapped on the y-axis. These figures illustrate how some projects go well and quickly pay for themselves, while others face hurdles such as panel damages.
Figure 7. Progression of ROI for 100 $15k solar panel projects in Iowa